// Have include guard.
#ifndef DRIVEDISTANCETESTCONTROLLER_H
#define DRIVEDISTANCETESTCONTROLLER_H

// Include files.
#include <boost/smart_ptr/shared_ptr.hpp>
#include "EntechFpk.hpp"

class DriveDistanceTestController :
	public RobotController
{
	public:
		DriveDistanceTestController(MecanumDriveSubsystem &m_drive, HumanDigitalInput &input);
		
		virtual void Periodic();
	private:
		boost::shared_ptr<AsyncResult<bool> > m_asyncResult;
		MecanumDriveSubsystem &m_drive;
		HumanDigitalInput &m_input;
		bool m_inputReleasedPrevious;
};

#endif // #ifndef DRIVEDISTANCETESTCONTROLLER_H
